package com.dtp.common.em;

import lombok.Getter;

/**
 * 通知项枚举
 *
 * @author yanhom
 * @since 1.0.0
 *
 * @remark muse
 **/
@Getter
public enum NotifyItemEnum {
    CHANGE("change"),       // 配置变更通知类型
    LIVENESS("liveness"),   // ThreadPool活跃度通知类型（liveness = activeCount / maximumPoolSize）
    CAPACITY("capacity"),   // 容量阈值通知类型
    REJECT("reject"),       // 拒绝通知类型
    RUN_TIMEOUT("run_timeout"),     // 任务运行超时告警通知类型
    QUEUE_TIMEOUT("queue_timeout"); // 任务队列等待超时告警通知类型

    private final String value;
    NotifyItemEnum(String value) {this.value = value;}

    /** 通过type类型获得NotifyItemEnum */
    public static NotifyItemEnum of(String value) {
        for (NotifyItemEnum notifyItem : NotifyItemEnum.values())
            if (notifyItem.value.equals(value)) return notifyItem;
        return null;
    }
}